import {
  DeviceState, ResponseCode, ResponseState,
} from '@CONSTANTS/BleConstants'
import DeviceStatus from '@MODEL/DeviceStatus'

export interface DeviceResponse {
  command?: String
  code?: ResponseCode
  codeInt?: number
  responseStatus: ResponseState
  deviceState?: DeviceState
  deviceStatus?: DeviceStatus
  deviceStateInt?: number
}

export interface DeviceStatusFlags {
  isReportAvailable: boolean,
  isFlashLogAvailable: boolean,
  isCommandResponseStatusAvailable: boolean,
  isLastTreatmentStatisticsAvailable: boolean,
  isInNoLoadState: boolean,
  isDevicePaired: boolean,
  isDeviceAuthenticated: boolean
}

export interface DeviceInfoBleResponse {
  isError?: boolean
  fwVersion: string
  hwRevision: string
  treatmentDefaultTimeInSeconds: number
  minTreatmentTimeInSeconds: number
  lockStatus: string
  bleAddress: string
  bootVersion: string
  pauseDefaultTimeInSeconds: number // default 5 * 60,
  serialNumber?: string
}
